﻿using _2112A_2_MES._wangweihao;
using _2112A_2_MES._XiangHe;
using _2112A_2_MES.SuJiaHaos;
using _2112A_2_MES.XiangHes;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Test.WangWeiHao;
using Volo.Abp.Application.Services;

namespace _2112A_2_MES.SuJiaHao
{
    /// <summary>
    /// 客户管理服务接口
    /// </summary>
    public interface ICustomerService : IApplicationService
    {
        /// <summary>
        /// 获取客户信息
        /// </summary>
        /// <returns>返回客户信息的实体</returns>
        Task<CustomerManagementDTO> GetAsync(int id);

        /// <summary>
        /// 获取客户信息
        /// </summary>
        /// <param name="clientCode">客户编码</param>
        /// <param name="clientName">客户名称</param>
        /// <param name="clientNick">客户简称</param>
        /// <returns>返回客户信息的泛型集合</returns>
        Task<ReturnSelect<object>> GetCustomerList(string?clientCode, string?clientName,string?clientNick,int pageSize,int pageIndex);

        /// <summary>
        /// 客户信息添加
        /// </summary>
        /// <param name="input">客户实体</param>
        /// <returns></returns>
        Task<int> GetCreateCustomer(CreateCustomerDTO input);

        /// <summary>
        /// 客户信息删除
        /// </summary>
        /// <param name="id">条件编号</param>
        /// <returns>返回受影响行数</returns>
        Task<int> DeletedCustomer(int id);

        /// <summary>
        /// 客户信息反填
        /// </summary>
        /// <param name="id">条件编号</param>
        /// <returns>返回客户信息实体</returns>
        Task<Client> GetCustomers(int id);

        /// <summary>
        /// 客户信息修改
        /// </summary>
        /// <param name="input">客户实体</param>
        /// <returns>返回受影响行数</returns>
        Task<int> UpdateCustomer(CreateCustomerDTO input);
    }
}
